﻿////////////////////////////////////////////////////////////////////////////////////////////
// File: ParticleForce.cs                                                                 //
// Author: Mike Binnix                                                                    //
// Desc: Class to hold a particle and the force that acts upon it.                        //
////////////////////////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;

namespace SlothEngine.Physics
{
    public class ParticleForce
    {
        #region Attributes
        private XNAParticle particle;
        private IPForceGenerator forceGenerator;
        #endregion

        #region Properties
        /// <summary>
        /// Gets or sets the particle.
        /// </summary>
        public XNAParticle Particle
        {
            get
            {
                return particle;
            }
            set
            {
                particle = value;
            }
        }
        /// <summary>
        /// Gets or sets the force generator.
        /// </summary>
        public IPForceGenerator ForceGenerator
        {
            get
            {
                return forceGenerator;
            }
            set
            {
                forceGenerator = value;
            }
        }
        #endregion

        #region Constructors
        public ParticleForce()
        {
            particle = new XNAParticle();
            forceGenerator = null;
        }
        public ParticleForce(XNAParticle particle, IPForceGenerator forceGenerator)
        {
            this.particle = particle;
            this.forceGenerator = forceGenerator;
        }
        #endregion
    }
}
